'''
PY-NET-STATS : Data types ressource module
This file contents all dictionnaries used to manipulate case-based methods.
'''

from dpkt.ethernet import *
from dpkt.ip import *

''' Ethernet type field codes '''
ETH_TYPES = {
             #ETH_TYPE_PUP:"ETH_TYPE_PUP",
             ETH_TYPE_IP:"ETH_TYPE_IP",
             #ETH_TYPE_ARP:"ETH_TYPE_ARP",
             #ETH_TYPE_CDP:"ETH_TYPE_CDP",
             #ETH_TYPE_DTP:"ETH_TYPE_DTP",
             #ETH_TYPE_REVARP:"ETH_TYPE_REVARP",
             #ETH_TYPE_8021Q:"ETH_TYPE_8021Q",
             #ETH_TYPE_IPX:"ETH_TYPE_IPX",
             #ETH_TYPE_IP6:"ETH_TYPE_IP6",
             #ETH_TYPE_PPP:"ETH_TYPE_PPP",
             #ETH_TYPE_MPLS:"ETH_TYPE_MPLS",
             #ETH_TYPE_MPLS_MCAST:"ETH_TYPE_MPLS_MCAST",
             #ETH_TYPE_PPPoE_DISC:"ETH_TYPE_PPPOE_DISC",
             #ETH_TYPE_PPPoE:"ETH_TYPE_PPPOE"
             }

''' IPv4/v6 Protocol field codes '''
L3_TYPES = {
            #IP_PROTO_IP:"IP_PROTO_IP",
            #IP_PROTO_HOPOPTS:"IP_PROTO_HOPOPTS",
            IP_PROTO_ICMP:"IP_PROTO_ICMP",
            #IP_PROTO_IGMP:"IP_PROTO_IGMP",
            #IP_PROTO_IPIP:"IP_PROTO_IPIP",
            IP_PROTO_TCP:"IP_PROTO_TCP",
            IP_PROTO_UDP:"IP_PROTO_UDP",
            #IP_PROTO_IP6:"IP_PROTO_IP6",
            #IP_PROTO_SDRP:"IP_PROTO_SDRP",
            #IP_PROTO_ROUTING:"IP_PROTO_ROUTING",
            #IP_PROTO_FRAGMENT:"IP_PROTO_FRAGMENT",
            #IP_PROTO_GRE:"IP_PROTO_GRE",
            #IP_PROTO_MHRP:"IP_PROTO_MHRP",
            #IP_PROTO_ESP:"IP_PROTO_ESP",
            #IP_PROTO_AH:"IP_PROTO_AH",
            #IP_PROTO_ICMP6:"IP_PROTO_ICMP6",
            #IP_PROTO_EIGRP:"IP_PROTO_EIGRP",
            #IP_PROTO_OSPF:"IP_PROTO_OSPF",
            #IP_PROTO_ETHERIP:"IP_PROTO_ETHERIP",
            #IP_PROTO_IPCOMP:"IP_PROTO_IPCOMP",
            #IP_PROTO_VRRP:"IP_PROTO_VRRP",
            #IP_PROTO_ISIS:"IP_PROTO_ISIS",
            #IP_PROTO_RAW:"IP_PROTO_RAW",
            }

ICMP_TYPES = {
              }